package org.oschina.api.user.login.record.service;

import org.oschina.Constants;
import org.oschina.api.BaseService;
import org.oschina.api.index.service.IndexService;
import org.oschina.api.user.login.record.dao.UserLoginRecordDAO;
import org.oschina.api.user.login.record.model.UserLoginRecord;
import org.oschina.util.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UserLoginRecordService extends BaseService {

	@Autowired
	private UserLoginRecordDAO userLoginRecordDAO;
	@Autowired
	private IndexService indexService;

	/**
	 * 创建
	 * @param user
	 * @param ip
	 * @param loginTime
	 * @return
	 */
	public UserLoginRecord create(int user,String ip,long loginTime)
	{
		long now=DateUtil.now();
		UserLoginRecord userLoginRecord=new UserLoginRecord();
		userLoginRecord.setUser(user);
		userLoginRecord.setIp(ip);
		userLoginRecord.setLogin_time(loginTime);
		userLoginRecord.setLogout_time(now);
		userLoginRecord.setCreate_time(now);
		return create(userLoginRecord);
	}
	
	/**
	 * 创建
	 * @param userLoginRecord
	 * @return
	 */
	private UserLoginRecord create(UserLoginRecord userLoginRecord)
	{
		userLoginRecord.setId(getIndex());
		return userLoginRecordDAO.create(userLoginRecord);
	}
	
	private int getIndex()
	{
		return indexService.getMajorById(Constants.INDEX_USER_LOGIN_RECORD);
	}
}